


                                Emulex Corporation



                          Light Pulse Family Host Adapter
                            Universal Boot Release Notes


                                      5.02a5


                                   July 14th, 2007



I. Introduction


This Universal Boot version 5.02a5 contains:

(1) x86 BootBIOS  version 1.71a1 
(2) OpenBoot      version 3.00a2 
(3) EFIBoot       version 3.11a5

For detailed information about x86 BootBIOS, please refer to section II below,
for OpenBoot, section III, and for EFIBoot, section IV.  This Universal Boot can 
boot on either Intel x86 Platform, Non-Intel Fcode, or EFI environment.  In other 
words, the platform is transparent and the user should not be concerned with any 
differences with regard to x86 BootBIOS, OpenBoot, or EFIBoot.

Universal Boot is a complete image, whenever it is enabled by any Emulex OS 
utility, the whole image (x86 BootBIOS, OpenBoot and EFIBoot) is enabled.  This 
is also true for disable.


Files included in this release:

\502a5.txt        this file you are reading
\HU502a5.PRG      LP9802     Universal Boot
\TU502a5.PRG      LP10000    Universal Boot
\BU502a5.PRG      LP11000    Universal Boot
\ZU502a5.PRG      LPe11000   Universal Boot
\elxcli311a5.efi  EFI 3.11a5 Driver


Universal Boot Load Procedure

The Light Pulse Universal Boot is distributed as a .PRG file.  This file may be 
downloaded to the Adapter using the firmware upgrade procedure with the following 
Utility in Various systems. 

  1. "Drvcfg"                  : EFI based Systems. 

     Please refer to section 4 in EFIBoot for user interface how to download 
     Universal Boot in EFI based systems.

  2. LP6DUTIL.EXE              : DOS based utility.

     Please refer to the LP6DUTIL version 9.0a13, or later, documentation for user
     interface how to download EFIBoot in DOS PCI systems.

  3. LPUTILNT                  : Windows Miniport Driver.

     Please refer to the utility user manual for details on using the above tool.

  4. Emulex Configuration Tool : Windows Port Driver.

     Please refer to the elxcfg user manual for details on using the above tool.


/*-------------------------------------------------------------------------------*/
/*                                  History                                      */
/*-------------------------------------------------------------------------------*/
Problems Fixed, Features added or Other Updates Since 5.01a6:
-----------------------------------------------------------------------------------

  (1)  Fixed CR17090: Corrected the Boot BIOS ROM Extension Program ID for LPe11000
                      in PRG file.

Problems Fixed, Features added or Other Updates Since 5.00a1:
-----------------------------------------------------------------------------------

  (1)  Fixed CR9254: Updated Readme document.


Problems Fixed, Features added or Other Updates Since 5.00a0:
-----------------------------------------------------------------------------------

  (1)  Changed the source files .bin to .efi for EFIBoot.

  (2)  Changed the Optional-ROM image order.

  (3)  Changed the Program id. 


***********************************************************************************

II. x86 BootBIOS

The current BootBIOS provides x86 boot capability through the use of INT13 system 
BIOS calls.  The BootBIOS supports:

(1)  Multi-topology: Fabric Point to Point, FC-AL, Private loop and Public loop 
(2)  Multi-initiators: Up to 8 adapters in a system
(3)  Multi-LUNs: Up to 256 LUNs 
(4)  Multi-boot: it complies with the BIOS Boot Specification (BBS).
(5)  EDD (Enhanced Disk Drive Services): it supports both EDD 3.0 and EDD 2.1 
     depending on the selection made in the BIOS Utility. 
(6)  Boot fail over feature: This was implemented in BootBIOS version 1.20.  There 
     are eight boot entries that can be configured.  If the first boot entry fails 
     for any reason, it is still able to boot from the second configured boot 
     entry and so on.

***********************************************************************************

1. History:

***********************************************************************************

                           1.71A1
Problems Fixed, Features added or Other Updates Since 1.71A0:

1.  When use FDISK32 to Partition and create MBR on a FC Disk, the FDISK32 command 
    will fail with the error message "LBA Total Sector Value too Large".   This 
    release fixed the issue by zero out the parameter value on upper 32 bit of the
    sector count. (CR24874)


***********************************************************************************

                           1.71A0
Problems Fixed, Features added or Other Updates Since 1.70A3:

1.  Adjust the eVPD HBA model number display alignment on banner display and BIOS 
    configuration utility menu. (CR20482)

2.  Removed some unnecessary command calls and functions on BIOS code to reduce the 
    BIOS image size. (CR20483)

3.  BIOS fails to do the FLOGI retry after time out during discovery runtime, and
    cause boot failure. The new release takes care this issue by added 2 more FLOGI
    retries after first FLOGI has been time out or failure. (CR20484)

4.  During the discovery runtime, the host D_id number for FLOGI was get from 
    previous saved D_id during init time and cause boot failure if FAN was issued 
    by the fabric switch.  This release takes care the issue by update the new host
    D_id number from READ_LA during the runtime. (CR20485)

5.  Changed different method other than use Int15 c1 call to check for EBDA existed.
    This way can reduce EBDA memory overflow error during boot time on some system 
    or blade server. (CR20486)

6.  If the search eVPD data (V2) is located near at the end of 108 bytes in the VPD
    field, thus sometimes can cause fails to display the whole string of eVPD (V2) 
    data.  To fix this display VPD data on V2 field issue, the new fix changed the 
    VPD dumped entry index to 20*n bytes, and change the VPD search area to 28 bytes,
    this can cover the whole maximum length of 80 bytes on V2 data field. (CR20487)

7.  The auto boot sector function was disable during migration boot and cause boot 
    migration disk arrays failure.  The new fix takes care this issue and also 
    changed the default setting for "auto boot sector" to disabled, if the migration
    boot is required, user need to enable the "auto boot sector" in the Emulex BIOS 
    utility menu. (CR20488)

8.  Increase number of retry on test unit ready to 10 times to resolve the issue 
    which fail to discover the FC disk on SAN boot after 2 SCSI check condition on
    Test Unit Ready command.  (CR19775)

9.  Added support for allowing the key sequence <Ctrl-E> to enter the Emulex BIOS 
    utility as well.  (CR20489)

10. Added explicit screen display confirmation to the user when <Alt-E> or <Ctrl-E>
    has been pressed to enter the Emulex BIOS utility. (CR20490)

11. Added additional display the PCI function number of the HBA for easy to identify
    each port especially for the dual channel adapter.  Also, added the display Boot 
    BIOS enabled or disabled status on the first screen after selecting the adapter. 
    (CR20061)

12. Removed the HBA info on the first line of the banner display to reduce confusion
    of user if there are multiple HBAs installed in the system. (CR20491)

13. Added the new link speed selection feature, user can select the desired link speed
    in the link speed selection menu, and the new link speed now can support up to 4 
    Gigabaud,  the default link speed is Auto Select. (CR16926) & (CR20352)

14. Update new Emulex Copyrights on screen display messages and source code. (CR20492)



***********************************************************************************

                           1.70A3
Problems Fixed, Features added or Other Updates Since 1.70A2:

1.  Feature added to increase scan the eVPD data area up to 1024 bytes in VPD data 
    field, and to parse the entire VPD data to find the appropriate eVPD
    fields and use them.  (CR15558)

2.  If there are two or more different HBAs with VPD support on the system, the banner
    display will always display the same HBA banner when press s (to skip the bios scan).
    The new released fixed this issue.  (CR15469)

3.  Per the FC-GS4 spec, all CT commands shall have a timeout value of 3 x R_A_TOV 
    instead of 2 times.  (CR15559)

4.  Changed the new banner display on X86 boot with the Emulex copyright. (CR15560)  

***********************************************************************************

                           1.70A2
Problems Fixed, Features added or Other Updates Since 1.70A1:

1.  The Boot Bios Using the d command in the bios config screen leaves adapter with 
    hard ALPA of 1, this setting can causes confusion for customers which our HBA
    comes from the factory with a default hard alpa of zero.  The new fix will set
    the default hard ALPA of zero. (CR10241)  

2.  Fail to detect the EMC cx200 when connect directly to the LP952, because it 
    fails to discover ALPA EF in direct connect configuration.  The new fix will
    takes care this issue. (CR11302)

3.  Fixed the bug which fails to discover ALPA EF in private loop configuration.
    (CR11902)

4.  Multiple reboots causes link to not come up, boot failure.  The new fix takes
    care this issue by removed the update nvram during the init_ff. (CR12013)

5.  Supported E-VPD, if e-VPD fields are empty or blank on the HBA then the HBA 
    will identified as it is today, if VPD HBA Model number info is present, then
    display the new VPD HBA Model number.  (CR14853)

6.  Supported more HBA such as Lp11000, Lp1150, Lp111, Lpe11000, Lpe1150, Lpe111,
    Lp10000, Lp101, Lp11000. and Lpe11000. (CR14854)

7.  In some system server, there is issue which mishandling the memory read-only 
    mode during the runtime, which results in retries until the system times out and
    resets.  The new "X" build will remove some variables in runtime library, and 
    keep those variables in the init-time. (CR12314)



***********************************************************************************

                           1.70A1
Problems Fixed, Features added or Other Updates Since 1.70A0:

1.  During the BIOS login, when HBA receives the Unit Attention, the BIOS gave two 
    times retry for the Test_Unit_Ready command, this release will increse upto five
    times retry for TUR when HBA receives the Unit Attention. (CR9429)

2.  Move hard_alpa variable to common region area. (CR10079)  

3.  Added LP101 support. (CR10080)

***********************************************************************************

                           1.70A0
Problems Fixed, Features added or Other Updates Since 1.63A2:

*  When Start Unit Command is enable, there should be Test-Unit-Ready commands issued
   after follow the Inquiry command during the process of scan disk target function.
   And this caused the boot failure if LUN1 from the primary path was deleted and was
   expecting to boot from LUN1 on the secondary path. The new release added the TUR
   follow the Inquiry command and makes FC boot success on secondary path.

*  There is display error in BIOS utility menu on 3 digit adapter card, such as Lp982
   in previous release code, the new release clean up the display error and fixed the
   issue.  


***********************************************************************************
***********************************************************************************



2. BIOS Load Procedure

The Light Pulse BIOS is distributed as a .PRG file.  This file may be downloaded 
to the Adapter using the firmware upgrade procedure with the DOS based 
utility LP6DUTIL.EXE, or either  Windows NT  Driver Utilities:

     *  GUI LPNTUTIL Mini-port Driver
     *  Emulex Configuration Tool for Port Driver

Please refer to the user manual for details on using these tools.


2.1 BIOS Upgrade Procedure with LP6DUTIL

(1) Install the Adapter to be upgraded into a DOS PCI system (see Hardware 
    Compatibility for a recommended configuration).

(2) Boot the DOS PCI system.

(3) Run LP6DUTIL revision 8.0 or greater  (found on the released diskette, 
    CD-ROM, or FTP server)

(4) From the Main Menu, Select Option 5 (Maintenance)
    Ensure that the diagnostic utility identifies itself as revision 8.0 or 
    greater before continuing.

(5) From the Maintenance Menu, Select Option 1 (Update Firmware)
    The program will prompt for the file name to download.  Specify the drive and 
    path where xBxxxx.PRG can be found. 

This image file is downloaded into the xBxxxx's FLASH.  The operation should 
take less than 2 minutes to complete.

     NOTE:  The update operation must not be interrupted or the FLASH may become 
     corrupted. If this occurs, the Adapter must be returned to Emulex for FLASH  
     update.  This condition can be identified by POST failure, usually when no 
     LEDs turn on.

(6) The Adapter must be re-initialized to start using the upgraded BIOS.  
    Perform a Hard Reset to the system or recycle the power.
    
     NOTE:  Each newly installed Host Adapter must have BIOS activated using the 
     DOS utility (lp6dutil). Until Boot BIOS is enabled using the DOS utility,
     you will not see the Boot BIOS message during boot. Once Boot  BIOS is 
     activated, a message will appear during the boot sequence asking you
     press the <Alt E> key for Boot BIOS or the <s> key to skip Boot BIOS.


BIOS was already activated if it was downloaded as performed as the above.

To Activate BootBios:  

>From the lp6dutil Main menu,

   1. Type <5> and press <Enter> to open the Maintenance menu. 
   2. Type <3> and press <Enter> to enable Boot BIOS. 
   3. Type <0> and press <Enter> to return to the previous menu. 
   4. Type <7> and press <Enter> to exit the lp6dutil program. 




3. BIOS Limitations and Default Configuration


3.1 Limitations and Features

Below is a list of the current preliminary LightPulse BIOS limitations and 
features.

*  In order to work properly, this version of BIOS has to work with Firmware 
   2.22 or above for LP6000 and LP7000, firmware 1.01 for LP850 and firmware 
   2.81 or above for LP8000.

*  If there are any hardware changes such as replacing drives or re-configuring
   a Fabric switch environment, make sure to re-configure BIOS using the BIOS 
   Utility.

*  If the message "Retry this adapter!!" was display during the BIOS scanning, 
   please check the hardware configuration or re-configure BIOS using the BIOS 
   Utility.

*  It will allow any number of LightPulse adapters in a system. It can be
   any combination of LP7000, 8000, 9002, 9802, 850, 952, and 982. However, 
   only the first eight adapters can be configured as the boot adapters; any
   adapter after the eighth adapter will not be visible during the boot process.

*  Press <Alt E> to enter the Emulex BIOS Utility.

*  If a system does not have Multi-boot (BBS), the Boot disk (drive C:) 
   is determined by the first configured boot entry (Primary boot entry).
   It can be on the first adapter or the second adapter. If a user want to 
   configured on the second adapter, do not configure any boot entry on 
   the first adapter.

   Example 1:

   Adapter 1: boot_entry0, boot_entry1.
   Adapter 2: boot_entry2, boot_entry3.
   
   Drive C: boot_entry0

   Example 2:

   Adapter 1: 
   Adapter 2: boot_entry2, boot_entry3.
   
   Drive C: boot_entry2


*  If a system supports Multi-boot (BBS), the Boot disk (drive C:) will be
   the first entry in Multi-boot on system BIOS setup Menu. The list of 
   entry, that are export to Multi-boot menu, are determine by the list
   of configured boot entry in the BIOS utility. For example:

   Adapter 1: boot_entry0, boot_entry1.
   Adapter 2: boot_entry2, boot_entry3.

   The order of boot entry that are exported to the Multi-Boot (BBS) are:
   boot_entry0, boot_entry1, boot_entry2 and boot_entry3. However, Multi-
   boot can overwrite this order by: boot_entry2, boot_entry0, boot_entry1
   and boot_entry3. In this case, Drive C: is boot_entry2.

   

*  A maximum of 256 LUNs is supported (LUN 0 through 255) per target id 
   (D_ID or ALPA). These 256 LUNs can be scanned in different stages using the
   BIOS Utility. However, only 8 entries can be seen during BIOS initialization.

*  For FC-AL, the adapter's ALPA, PCI bus number and PCI device number can be 
   viewed on the welcome screen or in the BIOS Utility menu. In this way, 
   the user can know exactly which adapter is in which PCI slot in the system.

*  For Fabric Point to Point or Public Loop, the S_ID (source id), PCI bus
   number and PCI device number will be printed on the screen. 

*  On Fabric environment, the maximum number of devices (D_ID) is 90 when 
   configuring boot device in BIOS Utility.

*  On Private Loop, the maximum number of devices (ALPA) is 99 when 
   configuring boot device in BIOS Utility.



3.2  Default Configuration

*  To reset the selected adapter to its defaults, press <d> in the Parameter 
   menu. 

*  Boot BIOS is disabled by default. In order to use Emulex Boot BIOS, user 
   must press <Alt E> to enter the BIOS Utility to enable boot BIOS.

*  In "Configure Boot Devices" option, Loop is the default mode. BIOS will 
   look for a Public Loop first,. If a Public Loop is not detected, it will
   look for a Private Loop.

*  For "Configure Boot Devices" option, the eight boot entries will be zero 
   by default (<d> key).

*  For FC-AL, each host adapter has a default ALPA of 00 (Hex).                   
*  If more than one adapter is in the system with the same PCI bus number, and 
   each has a Boot drive attached, the first PCI-scan adapter will be the BOOT 
   adapter.  The first adapter is usually the lowest PCI slot in the system.  
   This information can be viewed from the BIOS Utility.

*  Default PLOGI Retry Timer is 0 (no retry), it can be changed to 50, 100, 
   and 200 milli-sec.

*  Spinup delay is disabled by default.

*  Auto Scan is disabled by default.

*  All the above default settings can be changed in the BIOS Utility. All 
   adapters or BOOT drives can be configured to different ALPAs other than 
   their default values.


*  EDD 3.0 was disabled in default. This is because current Win2K does not 
   support EDD 3.0 and it could hang during the Win2K installation on regular 
   Pentium series systems.


*  Environmental variable is disabled in default.

*  Start Unit command is disabled in default.



4. BIOS Utility

User can press <Alt E> to enter the BIOS Utility.  Each menu is described below.


4.1 Main Menu

This menu lists all the adapters in the system and the BIOS version number.  
User can enter the number to select the particular adapter.


4.2 Adapter Menu

*  The adapter is displayed by ALPA for FC-AL, PCI bus number and device number.

*  The top screen also displays I/O base address, on board firmware version, 
   port name and node name.

*  <x> is the only way to exit the BIOS Utility and reboot the system.

*  <d> is used to reset the selected adapter to default value while in 
   the BIOS Utility.


4.2.1 Configure Boot Devices

Fail over booting: it is always there since BIOS version 1.20. There are 
eight boot entries that can be configured. If first boot entry failed for 
whatever hardware reason, it still be able to boot from the second configured 
boot entry and so on.

Currently, this menu supports FC-AL: Private Loop and Public Loop, and Fabric 
Point to point. If this board is configured as FC-AL, it will do public loop 
first, if it failed, it will perform private loop.

This Configure Boot Devices will take care Fabric, Public loop and Private 
loop. On Private loop, it can boot from either WWPN or ALPA. On Fabric, it 
can boot from either WWPN or DID.

The first entry is the primary boot entry, please fill in this entry 
before filling in the rest of the entries.


*  It has 8 boot entries with the first one as the primary boot entry. 

*  If user selects any entry, another menu will be displayed:

   00. Clear selected boot entry!! This is used to clear the selected boot
   entry.
 
   01. DID or ALPA, WWPN and disk information. The LUN will stop on the first
   LUN found in this particular target device.

   02. same as 01 with different target device.

*  If user selects any two-digit number such as 01, then a Pop up menu will be
   shown. Please enter the first two digits of the LUN to be  scanned for.

*  A list of total 16 LUN starting with LUN that was enter above paragraph.
   In front of each entry, B#D or B#W specifies Boot entry number with boot 
   via DID or WWPN. For example, B1D means Boot entry number one will boot via 
   DID. B2W means Boot entry number two will boot via WWPN.

*  Enter the two digit LUN, 

*  If any two-digit number is entered, another Pop up menu will be shown. 

        1. Boot this device via WWPN
        2. Boot this device via DID

*  If a user selects 1. The WWPN of the earlier selected entry will be saved 
   in the Flash. However, during initial BIOS scan, it will issue a Name Server 
   Inquiry GID_PN (Get Port Identifier); then, based on this DID, do the rest 
   of the scanning.

*  If a user selects2. The DID of the earlier selected entry  will be saved 
   in the Flash.



4.2.2 Configure This Adapter's Parameters

This option is used to configure parameters for this adapter.


4.2.2.1 Enable or disable BIOS on this adapter

This option is used to Enable or Disable Boot BIOS on an individual adapter 
basis. The default is disabled.


4.2.2.2 Change default ALPA of this adapter

This applies only to FC-AL. This option can be used to change the ALPA of the 
adapter. The default value of the ALPA for the adapter BIOS is 00 in Hex. If   
a user changes the Host ALPA to a different value, it will not show on the NVRAM 
ALPA until the system has been reset.


4.2.2.3 Change PLOGI Retry Timer

This option is used to set the interval time for the PLOGI Retry Timer. This 
option is especially useful for Tachyon-based RAID arrays.  Under very rare 
occasion, a Tachyon-based RAID array will reset itself and the port will be 
temporarily off line in the loop.  When the port comes to life, the PLOGI 
retry interval helps to discover this device. 

The resolutions are 0 (no retry), 50, 100 and 200 msec.   The time it takes 
for one PLOGI to scan the whole loop (if 126 ALPA are on the loop) is shown 
below:

          50 msec will take 5 to 6 seconds.
          100 msec will take 12 seconds.
          200 msec will take 22 seconds.


4.2.2.4 Topology Selection

This menu is used to choose the Topology:

  (1) Auto Topology (Default): Loop first, if it fails, it will try Fabric point to
      point.
  (2) Auto Topology: Fabric point to point first, if it fails, it will try Loop.
  (3) FC-AL (Loop) only
  (4) Fabric point to point only
 

4.2.2.5  Enable or Disable Spinup delay 

The default is disabled

When the spinup delay was enable, it'll search for the first available boot device,
if there is boot device present, boot immediately.  Otherwise, if the boot device 
is not ready, then wait for spin-up delay and keep searching for the bootable device 
for 3 minutes time period. If the BIOS doesn't fine the device within three minutes,
then it will continue booting scanning algorithm, and hopefully another multi-boot
device is available.

If no boot devices have been defined, and the Auto Scan flag option is enabled
(defaults to disabled), then the BIOS will delay for 5 minutes before scanning 
for devices. In the private loop case, we will attempt to boot from the lowest 
target AL_PA we find. In the fabric-attached case, we will attempt to boot from 
the first target found in the NameServer data. 



4.2.2.6  Enable or Disable Auto Scan

If there is a configured boot entry, autoscan setting would not be allowed.
It has to be set default first <d>, then the autoscan can be set.

The default is disabled. The other options are

2. Any first device
3. First LUN 0 device
4. First NOT LUN 0 device

The above options are valid only if none of all the eight boot entries is 
configured. In other words, the configured boot entry will override any above 
option was selected.


4.2.2.6.1 Any first device

The first adapter will:

*  Issue a Name Server Inquiry.  
*  The first D_ID from Name Server Inquiry will become the boot device.

The adapter will attempt to log in to a Public Loop first. If it fails, it will 
log in to a Private Loop. The first successful scan device will be the boot device 
and only this one device will be exported to the Multi-Boot Menu. 


4.2.2.6.2 First LUN 0 device

Same as 3.2.2.6.1 except auto scan the first LUN 0 as the boot device.


4.2.2.6.3 First NOT LUN 0 device

Same as 3.2.2.6.1 except auto scan the first NOT LUN 0 as the boot device.


Therefore, it is strongly recommended that you use  the "Configure Boot Devices" 
option to configure at least one boot entry for Fabric, Public loop or Private 
loop configuration.


4.2.2.7 Enable or Disable EDD 3.0

EDD 3.0 was disabled by default. This is because current Win2K does not 
support EDD 3.0 and it would hang the system during the Win2K installation.


4.2.2.8 Enable or Disable Start Unit Command

This option was disabled by default. It is used to issue SCSI Start Unit
command. When it is enabled, the user have to know the specific LUN to
issue the SCSI Start Unit Command. This is because when the user configure
boot device, "Enter two digits of starting LUN (hex):" has to be the known 
specific LUN and it will not display like the regular LUN scanning.


4.2.2.9 Enable or Disable Environment Variable

This option was disabled by default. It is used to set the boot controller 
order if the system support the Environment Variable.


4.2.2.10 Enable or Disable Auto Boot Sector 

User need to enable this option, the default was disabled. It is used to 
automatic define the boot sector of the target disk in migration boot 
purpose.  If there isn't any partition on the target, the default boot 
sector format is 63 sectors.

4.2.2.11 Link Speed Selectioin

User can select the desired link speed in the link speed selection menu, 
and the new link speed now can support up to 4 Gigabaud, the default link 
speed is Auto Select.


5. Procedure to Build the Boot Disk from the LightPulse Adapter

(1) Set the boot disk to be the lowest AL_PA in the loop or use BIOS Utility 
    to configure the ALPA.
(2) Prepare a floppy disk that contains both DOS FDISK and FORMAT programs.
(3) Boot from floppy and use FDISK to create DOS primary partition.
(4) Format the C: drive from the floppy.
(5) Install DOS version 6.00 or above.
(6) Install WindowNT.




6. Procedure to Install Windows  on the Fibre Channel Disk

Make sure the user always gets the latest version of Windows NT Port driver or 
Mini-Port driver. 

*  Your computer's system BIOS may require that another controller take
precedence over the Emulex adapter during boot.  If this occurs, you must
disconnect or disable the other adapter.  This will allow you to configure 
and build your operating system on the drive connected to the Emulex adapter.


6.1 Install Windows NT 4.0

(1) Boot with Windows NT 4.0 Setup Media (See Microsoft Documentation For 
    Details)
(2) When the "Specify additional storage driver" message is displayed, insert 
    the Emulex driver diskette.
(3) Follow the instruction to complete the installation.

  
6.2 Install Windows 2000

(1) Boot with  Windows 2000 Setup Media (See Microsoft Documentation For 
    Details)
(2) Monitor the white bar on the bottom of the screen. 
(3) Press [F6] within 5 seconds when the "Press F6 if you need to install a 
    third party SCSI or RAID driver" message is displayed. 
(4) When the "Setup could not determine the type of one or more mass storage 
    devices installed in your system, or you have chosen to manually specify an 
    adapter." message is displayed, insert the Emulex driver diskette.
(5) Follow the remaining instructions to complete the Windows 2000 installation




7. Advanced BIOS Features


7.1 Multi-Boot BIOS (BBS)

Multi-boot BIOS is in compliance with BIOS Boot Specification (BBS). The 
system must have multi-boot system BIOS in order to take advantage of this 
feature. Multi-boot BIOS allows a user to select any boot disk in the system 
BIOS setup menu. The boot disk can be a Fibre Channel drive, a SCSI drive, an 
IDE drive or a floppy drive.  Emulex BIOS will supply the first 16 drives to 
the system BIOS menu. The multi-boot BIOS can override the Fibre Channel 
drive that is selected in the BIOS Utility.  

For example, the system has only eight Fibre Channel disks. The boot disk has 
ALPA 02. However, the user can select ALPA 23 in the system BIOS setup menu. 
The boot device will be Fibre Channel disk with ALPA 23 instead of ALPA 02 
that is set in BIOS Utility. 6.2 Driver Initialization after BIOS Boot.





***********************************************************************************



III. OpenBoot


This version of OpenBoot supports FC-AL, Private loop, Public loop, and 
Fabric Point to Point.  Also, it supports multi-initiators and multi-LUNs 
(0 through 255).


---------------  NOTES and CAUTIONS  ---------------------
** Ensure that critical files on local boot disk are backed up
   as a measure of protection.

(1) This procedure assumes there is already a 'local' boot disk.

(2) The size of the intended (target) fibre channel disk should 
    be big enough to hold all the file systems, and swap slice 
    of the local current boot disk. 
   
(3) As there will probably be more than one logical disk drive on
    the fibre channel adapter it will be necessary to use persistent
    binding ('nailing' a specific scsi id to a specific wwpn or did).

(4) It will be necessary to correlate the intended boot disk displayed
    by the 'probe-scsi-all' command to the devices displayed by the
    operating system.

----------------------------------------------------------------------

-----------------------  NEW CHANGES  3.00a2  ------------------------


1.  Fixed the issue if the len size of the decode-unit on device path /fp 
    is large than 2 digits, the decode-unit is fails to convert text 
    unit-string, and cause system is not bootable, and boot command 
    disabled. (CR25215)

2.  Fixed the issue on some systems the probe-scsi-all command fails 
    if the HBA has no link. (CR25036)

3.  In PCI Configuration Register there is a bit to control the HBA 
    bus master capability (BME).  In dual channel HBA when one of the 
    Bus Master Enable bit is cleared can cause other channel HBA DMA 
    to be stuck, and cause system hangs or failure during the boot 
    time.  This release takes care this issue by set the BME bit on 
    forever. (CR24911)(CR25005)

4.  If there is some unsolicited frame coming from the switch or service 
    provider, and the Boot code is not configure to response the FC-CT 
    Unsolicited, this can cause the system hangs during boot or scan targets.
    In order not to sent any FC-CT request, the new release removed the 
    mailbox config_ring command. (CR25233)

5.  Changed the display format on Fcode version number in .properties screen
    from ASCII to Hex for IBM machine. (CR25617)
 
6.  Update the copyright date from .properties command.  (CR24936)
 
 


-----------------------  NEW CHANGES  3.00a1  ------------------------

1.  Support SLI-2 implementation. (CR24732)

2.  New implement added FC tape boot support. (CR24733)

3.  New implement added FC 520 bytes blocks disk boot support. (CR24734)

4.  Added more compatible devices name property on compatible field for PCI 
    and PCIex. (CR24735)

5.  In the set-link-speed selection menu, if user selected 4 Gb/s link 
    speed on a 2 Gb/s HBA can cause link or boot failure, the new fixed 
    removed the 4 Gb/s option on set-link-speed selection menu on 2 Gb/s 
    or lower HBAs. The 4 Gb/s link speed option is only available on 4 Gb/s 
    HBA only. (CR24737)

6.  In the multipath environment, the second path is failing due to no 
    retry on a reservation conflict. This release added retry on SCSI 
    Reservation Conflict. (CR24739)



-----------------------  NEW CHANGES  1.50a9  ------------------------

1.  In some special array,  Fcode in loop mode display incorrect LUNs on 
    show-children or probe-scsi-all command.  The new fix takes care this 
    issue by adding the SCSI inquiry command before calling the show-luns
    command in show-children, and set the numbers of retry on busy status 
    to limits of 10 times. (CR20261)

2.  If the search eVPD data (V2) is located near at the end of 108 bytes in 
    the VPD field, thus sometimes can cause fails to display the whole string
    of eVPD (V2) data.  To fix this display VPD data on V2 field issue,  the 
    new fix changed the VPD dumped entry index to 20*n bytes, and change 
    the VPD search area to 28 bytes, this can cover the whole maximum length
    of 80 bytes on V2 data field. (CR20262)

3.  Fcode fails to issue a retry command with a check condition if the sense
    data returning a response code 71h (deffered errors).  The new fix added 
    support deferred error (71h & 73h) and current error (72h) on sense data 
    returned to returning check condition status, this will continue apply retry 
    command. (CR20264)

4.  In some blade server, after "scan", Fcode issue a "unmap-regs" at "close", 
    then re-open again to "check" the FC device for setting up the FC targets
    into the SMS boot menu, somehow the re-maping FC device into the 
    system virtual address spaces function is not working properly, and 
    cause the system not able to recognize any FC devices during "check".  
    The new fix removed the "unmap-regs" call at the "close", and system can 
    continue complete setup the FC targets into the boot menu, and this special 
    condition only apply to some systems only. (CR19585)

5.  If the NVRAM data field is empty, there will be a warning message 
     "Cannot dump NVRAM" display during the POST, and this message 
    sometimes can confuse user, but if removed out this warning message, then
    it will hard to debug in a real case. The new fix set this error message 
    display only in the verbose mode, and the warning message wouldn't display
    during the normal boot session. (CR20265)

6.  After changed the boot mode from sd-boot to sfs-boot,  the sfs? flag bit in 
    NVRAM is not display correct value, and confuse user.  The new release
    re-update the sfs? flag bit in NVRAM after "set-sfs-boot" was called.
    (CR20266)

7.  Update the new Emulex Copyright display format.  (CR20267)


-----------------------  NEW CHANGES  1.50a8  ------------------------

1.  The PCI device ID for Lpe11000 in make file wasn't a correct value, 
    and cause probe process does not find the Fcode image during POST.
    The new release fixed this issue by update the correct PCI device 
    ID in make file. (CR18053)


-----------------------  NEW CHANGES  1.50a7  ------------------------

1.   The command of report-luns is not setup as external variable in 
     FCode, this caused the system fail to compile the report-luns into 
     the RAM during the boot time, and result a boot failure.  The new 
     fix has setup the report-luns as external variable. (CR17926)


-----------------------  NEW CHANGES  1.50a6  ------------------------

1.  Added the Report LUN before Test Unit Ready command. (CR17835)

2.  Added 60ms delay after PRLI and before the first Report Luns command 
    is sent out. (CR17836)

3.  Changed the FCP Port Completion Timeout to 90 seconds for Start/Stop Unit
    command, and others for 30 seconds timeout. (CR17837)

4.  Fixed the bug on system hangs during "probe-scsi-all", because the timeout 
    for FCP completion was greater FCP Response. The new fix will be increased 
    FCP Response Timeout to 100 seconds for Start/Stop Unit command, and others 
    for 40 seconds timeout. (CR17838)

5.  Fixed the bug for mishandle the return value of TUR when FC cable was not
    connect properly during boot time and result an error message of 
    "STACK UNDERFLOW" issue. (CR17839)

6.  Fixed the bug for mishandle the return value of TUR when the first FC target
    was not available or not connect properly during the Multi-path Fabric boot 
    time and cause system not to continue boot on the 2nd target instead return 
    with an error message of "STACK UNDERFLOW" issue. (CR17840)

7.  If the NVRAM never been initialize before, there will be a warning message 
    "Cannot dump NVRAM" display during the POST, and this message will confuse
    user.  The new fix will remove this warning message. (CR17841)

8.  Fixed the issue to change the Fcode issues double PLOGIs down to one PLOGI 
    in a normal FC boot condition. (CR17842)

9.  Re-adjust the string value of eVPD display to fix the segmentation fault issue
    during DR operation on some server which causing Fcode not to be loaded. 
    (CR17013)

10. There are extra spaces shows on show-children's display format between 
    LUN to LUN. The new fix remove those extra spaces between LUN to LUN.
    (CR17843)

11. If user use "cd device-name" command to select the HBA, and try to update 
    the NVRAM, then system OBP will issue an "Memory Address not Aligned" 
    error message, the new fixed will issue a warning message to the user as 
    "Device is not Opend - use select-dev to Open the Device". (CR17009)

12. Rename the .version command to .fcode to display the Fcode version number.
    (CR17845)

13. Update this readme document for how to setup the FC Multi-path Fabric boot 
    method. (CR17946)

14. Change the encode method from string to integer on some machine in their
    .property field to display the proper fcode-version number. (CR17847)


-----------------------  NEW CHANGES  1.50a5  ------------------------

1.  Fixed the bug for Some system results in panic during early stages
    of boot process. This system had a feature in obp to probe scan all the 
    onboard devices during local boot time, and this probing feature requires
    a method of decode-unit to converts a text representation of a unit-address 
    into a numerical representation of a physical address within the address 
    space defined by the device node. Once the decode-unit returns unexpected 
    result during boot time, then it will cause the system panic with the error 
    message "<unknown>" module.  The new fix will set the proper return value 
    for the "decode-unit" during boot time, and let the system continue to 
    finish up the probe scan. (CR16557)

2.  Removed the 'Target none' display on probe-scsi-all or show-children 
    command. (CR16558)

3.  The value of host "port-wwn" and "node-wwn" are missing in .properties 
    command when user use cd command to select the specified device node.  
    The new fix will show the host "port-wwn" and "node-wwn" value in the 
    reg property when use either "cd" or "dev" command to select the specified 
    device node. (CR16559)

4.  Take care the new selective reset behavior. (CR16560)

5.  Increased fcp timeout for Port completion from 4 seconds to 60 seconds.
    (CR16561)  

6.  Re-adjust the # of retry on START/STOP command when the disk is not 
    spinning up. (CR16562) 

7.  Added delay on fcp response for START/STOP command. (CR16563) 

8.  Added Test Unit Ready on before sending a Start/Stop command to the target. 
    If the target is ready, don't send the Start/Stop Unit command. (CR16564)

9.  Display wrong "fc-boot-dev-portWWN" and "fc-boot-dev-portID" in reg 
    property when using "probe-scsi-all" in OBP. The new fixed removed 
    "fc-boot-dev-portWWN" and "fc-boot-dev-portID" in .property when using 
    "probe-scsi-all" in private loop mode.(CR16565)

10. Changed new copyright from "Copyright (c) 2005 Emulex Design & 
    Manufacturing Corporation." to "Copyright (c) 2005 Emulex". (CR16566)

11. Added new decode Peripheral Device Type for:
     0x06 (Scanner Device), 
     0x07 (Optical Device), 
     0x08 (Medium Changer), 
     0x09 (Communications Device), 
     0x0c (Array Controller), and 
     0x0d (ESI Device). (CR16567) 
-----------------------  NEW CHANGES  1.50a4  ------------------------

1.  Added the new link speed selection feature, user can use command
    "set-link-speed" to select the desired link speed, the new link
    speed now can support up to 4 Gigabaud, and the default link speed
    is Auto Select. (CR16047)

2.  Added the new Fcode Diag Switch feature, user can use command
    "set-fdiag-switch" to turn the diag switch on/off.  If the Diag
    switch is on, the detail debug error message will be print out 
    during POST or boot time if there is any link/boot failure.(CR16048)

3.  Bug fixed on HBA did not retry under a LOGO response and cause 
    fabric boot failure. (CR15707)

4.  Bug fixed on HBA did not retry the START/STOP command on a SCSI 
    Queue Full response and cause fabric boot failure. The new number
    of retry for Queue Full is up to 10 times and then give up.(CR16049)

5.  Changed the new number of retry condition for SCSI Busy to retry 
    forever. (CR16050)

6.  Added the  host "port-wwn" and "node-wwn" of the HBA into the reg 
    property during POST time which was required by XXX system to 
    allow to collect the Host wwpn/wwnn info during XXX boot.(CR16051)

7.  Fixed the bug on fail to report fcp-lun on XXX software BOOT format.
    (CR16052)

8.  Added the new feature "show-wwpn-child", user can use this command
    to show the LUNs target with the desired WWPN only instead of the 
    whole WWPNs and LUNs.(CR16053)  


-----------------------  NEW CHANGES  1.50a3  ------------------------

1.  Bug fixed on cannot to configure boot device using DID on XXX boot.
    (CR14497)

2.  Bug fixed on error message "Data Stack corrupted!!!" when booting
    with Fcode on SOME machine, the new release fixed this issue by 
    change the different device path /fp when booting with "SD Boot" 
    format. (CR14633)

3.  Supported E-VPD, if e-VPD fields are empty or blank on the HBA then
    the HBA will identified as it is today, if VPD HBA Model number info
    is present, then display the new VPD HBA Model number. (CR15513) 

4.  Rename function call for setting the boot format from "set-XXX-on" 
    to "set-XXX-boot" to boot with XXX Boot format, and "set-XXX-off" 
    to "set-sd-boot" to boot with SD Boot format. (CR15514) 

5.  Disable change the SD Boot format on XXX-Branded HBA. So the XXX-Branded
    adapter can only boot with XXX Boot format only. (CR15516)

6.  Changed new device name property for XXX Branded HBA from "emlxs" to 
    "XXXW,emlxs". (CR15517)

7.  Per the FC-GS4 spec, all CT commands shall have a timeout value of 
    3 x R_A_TOV instead of 2 times. (CR15521)

8.  Change the new banner display on Fcode with the copyright.  (CR15522)

9.  Added new support HBA LP1005 on the Fcode boot list.  (CR15524)

-----------------------  NEW CHANGES  1.50a2  ------------------------


1.  Removed the "XXX" support status in Fcode .properties menu. 
    (CR14487)

2.  Changed the new copyright display in Fcode .properties menu
    "Copyright (C) 2004 Emulex Design and Manufacturing Corporation.".
    (CR14488)

3.  Bug fixed on cannot configure fcode boot target "fabboot" using 
    the target WWPN on Storage array. (CR14455)

-----------------------  NEW CHANGES  1.50a1  ------------------------


1.  Bug fixed on stack overflow issue, changed the new input method on
    "set-boot-id" when configuring for the " XXX" fabboot using WWPN 
    and LUN number without the Target ID. (CR13110)

2.  Removed FCODE banner display message during POST for "XXX" FC boot.
    (CR13541)

3.  Changed new behavior for FCODE init POST procedure which FCODE will
    not bring the link up and init the HBA during the POST, thus FCODE
    will not wait for the link up when the HBA is not connect to the
    FC Target during init time. FCODE will only bring the link up during
    the FC boot time or select the boot device by user. (CR13542)
  
4.  Added support for the XXX-Branded adapter, changed the new Program
    ID, and device name, and device type for "XXX" operation, such as 
    changed the XXX-branded Program ID with "0xFC00" for LP10000-x, 
    and "0xFC10" for LP11000-x, replaced XXX-branded device name
    property to "emlxs", Emulex-branded to "emlx" for "XXX" mode, and 
    "lpfc" for "sd" mode, changed "XXX" operation device type from 
    "SCSI" to "SCSI-fcp". (CR14297)

5.  Added the new behavior on "decode-unit" in second device path "fp"
    of "XXX" boot, to solve the issue for there's not local access of 
    SCSI device when the "XXX" is enable on some system.
    This new fix will set the proper return for the "decode-unit" if the 
    wwpn and lun number are unavailable, and let the system continue to 
    finish up the probe scan includes setting up the local SCSI device 
    path. (CR14298)

	

-----------------------  NEW CHANGES  1.50a0  ------------------------


1.  This release supported the new FC boot with SUN "XXX" the "SAN 
    Foundation Software".  Created new device path "fp", and changed
    the child note from "sd" to "disk".

2.  Able to share one common code on SUN "XXX" FC Boot and Standard 
    SCSI SD Boot. 

3.  Added new feature which user can able to select the boot method
    between the "XXX" and "SCSI SD" boot using the command 
    "set-XXX-on" to boot with FC and "set-XXX-off" to boot with 
    standard SCSI SD.  The default mode is Standard SCSI SD mode.

4.  Changed to new device-name "emlx" for "XXX" instead of "lpfc".

5.  Added the "portWWN" and "portID" of the FC target into the reg 
    property at the boot time which was required by XXX to allow 
    "XXX" to collect the target ID in OS. 

6.  Added the new feature to boot "XXX" FC target with WWPN instead
    of target ID. 

7.  Created the new decode-unit, encode-unit and decode the wwpn 
    into two parts of wwpn-hi and wwpn-lo to meet the requirement 
    of XXX. 

8.  Created the new devalias name "fabboot" for booting the "XXX" FC
    target using the "boot fabboot" command in OBP, user can set the
    boot target with "set-boot-id" command using either WWPN, DID or
    Alpa. 

9.  Changed the display format for the wwpn from "2200.0020.37a5.ffd2"
    to "2200002037a5ffd2" on show-children command which makes easier
    to set the boot device using "copy" and "paste" command.

     

========================================================================

1. Open Boot Firmware Update Procedure

The Open Boot is loaded in the same way as a firmware update is 
performed and is distributed as a .PRG file. It could download 
through DOS based Lp6util if the adapter is first installed in a PC. 
Then procedure under DOS as follow: 

(1) Boot the DOS on PCI system.

(2) Run LP6DUTIL revision 9.0 or greater  (found on the released diskette, 
    CD-ROM, or FTP server)

    All adapters in the system are detected and reset. A brief Introduction 
    message is displayed with a menu bar on top of the screen.

(3) To make an entry selection in the pop-up menu, press Alt key, then move
    the block cursor to that entry then hit Enter or you can hit the 
    corresponding highlighted letter. To move the block cursor, you can use 
    the Up/Down arrow key. 

(4) To obtain the pop-up menu for Update Flash menu, hold down the Alt key 
    and hit the "l" letter key.  Then use the Down arrow key to select the
    "Download..."

(5) Hit Tab to move the cursor to the desired box to make the selection on 
    the Drive, the Directory, the File of the image. With each highlighted
    item, remember to hit <Enter> to make that selection.  The same goes for
    the adapter selection. 

(6) Hit OK to start download.

    This image file is downloaded into the xOxxxx's FLASH.  The operation should 
    take less than minute to complete.

     NOTE:  The update operation must not be interrupted or the FLASH may become 
     corrupted. If this occurs, the Adapter must be returned to Emulex for FLASH  
     update.  This condition can be identified by POST failure, usually when no 
     LEDs turn on.

(7) Remove the Adapter from PC system, now the Open Boot is ready to use.  
    
However Open Boot can also download through UNIX based under
Sun Solaris lputil utility, only if the adapter and the latest lpfc
driver is first installed in Sun Solaris System. And it must boot
Sun Solaris from the local disk. Otherwise, unpredictable damage
might happen.

(1) Option 3 Firmware Maintenance
(2) Option 1 Load Firmware Image

                 ******** Note *********

If the Open Boot has never been loaded into the FC adapter before,
and it has been use under the device path name "fibre-channel" other 
than "lpfc" in Sun Solaris system, in order to download Fcode and 
boot from FC disk, convert the path name into "lpfc" is required,
the procedure as follow:

(1) Boot up the Sun Solaris local disk.
(2) Download the latest lpfc driver.  
(3) Run the lputil @ "/usr/sbin/lpfc/lputil" and download the Fcode
    flash.
(4) Run "/usr/sbin/lpfc/convert_path_lpfc" to convert the path into
    "lpfc"
(5) Reboot the system.     

Note: Please be aware, once the path has been converted into "lpfc",
      it can't go back to the original ("fibre-channel") path. 


2. Open Boot Setup Procedure on "lpfc"

Note: Always reset the system before making any changes to your Fcode 
      Open Boot settings. Changes will not be saved if a reset is not
      performed first. 


a. To reset into default value mode:

   ok set-default-mode


b. To select the multiple adapters:
        
   ok show-devs                        /* show all system devices */
   ok " /pci@1f,0/pci@1/lpfc@#" select-dev      /* select /lpfc@# */
  
  Note:  Under the show-devs, we will found the path end with lpfc@#,
         where the # will be the actual number of FC adapter.
                                                  
                                                   
c. To display open boot driver version:

   ok show-devs                            
   ok " /pci@1f,0/pci@1/lpfc@1" select-dev 
                                  /* select lpfc@1 (for example) */
   ok .focde
   ok unselect-dev

d. To set the link speed:

   ok set-link-speed

e. To display the topology of the current device:

   ok show-devs                            
   ok " /pci@1f,0/pci@1/lpfc@1" select-dev 
                                  /* select lpfc@1 (for example) */
   ok .topology

  For intended (target) fibre channel boot disk select appropriate
  topology either point-to-point, FC-AL, or auto mode:

     if point-to-point (for connect to the switch)

        ok " /pci@1f,0/pci@1/lpfc@1" select-dev
        ok set-ptp                      
        ok unselect-dev
        ok reset-all 

     if public or private loop (for connect to the hub)

        ok " /pci@1f,0/pci@1/lpfc@1" select-dev
        ok set-fc-al            
        ok unselect-dev
        ok reset-all
    

     if auto topology with public or private loop first

        ok " /pci@1f,0/pci@1/lpfc@1" select-dev
        ok set-auto-fcal            
        ok unselect-dev
        ok reset-all

     if auto topology with point-to-point first

        ok " /pci@1f,0/pci@1/lpfc@1" select-dev
        ok set-auto-ptp            
        ok unselect-dev
        ok reset-all

     Note:  By default, the topology is set to auto-FCAL.
            If only one card and device connects to the switch, the
            auto-sensing mode will comes on as point-to-point first.


f. To display the all SCSI and Fibre Channel devices: 

        ok probe-scsi-all

g. To display the all WWPNs and LUNs: 

        ok show-children

h. To display the desired WWPN and LUNs: 

        ok 2200002037997f70 show-wwpn-child


i. To display the current boot device id: 
      
        ok show-devs                            
        ok " /pci@1f,0/pci@1/lpfc@1" select-dev 
                                  /* select lpfc@1 (for example) */
        ok .boot-id

j. To set boot device id:  
                     
      Make note of the actual wwpn, did or alpa returned from the 
      probe and copy down the corresponding boot entry.

        To use wwpn ( point to point):

           ok " /pci@1f,0/pci@1/lpfc@1" select-dev
           ok wwpn <wwpn> <lun> <target id> set-boot-id
           ok unselect-dev

           <wwpn> : must in hex
           <lun> : default is in hex, to change decimal type d# <lun>
           <target id> : default is in hex, to change decimal type d# 

        Example: 2200.0020.3799.7f70 d# 140 d# 10 set-boot-id
         

        To use did (public loop):

           ok " /pci@1f,0/pci@1/lpfc@1" select-dev
           ok did <did> <lun> <target id> set-boot-id
           ok unselect-dev

           <did> : must in hex
           <lun> : default is in hex, to change decimal type d# <lun>
           <target id> : default is in hex, to change decimal type d# 

        Example: 2009e1 d# 100 d# 10 set-boot-id
         

        To use alpa (private loop):

           ok " /pci@1f,0/pci@1/lpfc@1" select-dev
           ok alpa <alpa> <lun> <target id> set-boot-id
           ok unselect-dev

           <alpa> : must in hex
           <lun> : default is in hex, to change decimal type d# <lun>
           <target id> : default is in hex, to change decimal type d# 

        Example: e1 d# 100 d# 10 set-boot-id
         

        To remove boot id :

           ok " /pci@1f,0/pci@1/lpfc@1" select-dev      
           ok remove-boot-id        /* to clear boot id settings */
           ok unselect-dev
         
                    OR

           ok " /pci@1f,0/pci@1/lpfc@1" select-dev      
           ok set-default-mode      /* to clear boot id settings */
           ok unselect-dev

k. To switch between XXX and SD Boot Format:

           ok set-XXX-boot        /* switch to XXX Boot Format*/
           ok set-sd-boot         /* switch to SD  Boot Format*/

l. To set the F-Code Diag Switch:

       ok set-fdiag-switch        /* print debug message during POST */  
           

m. To display all the current flag for open boot driver:                


           ok show-devs                            
           ok " /pci@1f,0/pci@1/lpfc@1" select-dev 
                                  /* select lpfc@1 (for example) */
           ok .nvram

           The following information will be display

              Signature           /* open boot signature */ 
              Vaild_flag          /* internal flag for open boot */  
              Host_did            /* shows host did number */
              Enable_flag         /* internal flag for open boot */
              SFS_Support         /* support SFS flag */
              Topology_flag       /* topology flag for open boot */
              Link_Speed_flag     /* set link speed */
              Diag_Switch         /* set fcode diag switch */ 
              Boot_id             /* shows target id number */
              Lnk_timer           /* internal use for open boot */
              Plogi_timer         /* internal use for open boot */
              LUN                 /* shows Boot LUN in use */
              DID                 /* shows Boot ID in use */
              WWPN                /* shows Boot WWPN in use */

       Note: Target id can be bind to either did (destination id)
             or wwpn (worldwide port name) and saved in the adapter
             nvram. It can also save in the environment variable 
             boot-device.  
             wwpn <wwpn> <lun> <target-id> set-boot-id : 
             binding target-id with wwpn and lun.  
             did <did> <lun> <target-id> set-boot-id : 
             binding target-id with did and lun.




3. Make Fibre Channel Bootable System "SCSI SD" Disk 
      
   Note: If fibre channel disk(s) is not found when system is up 
         it may be necessary to do one of both of the following:

      (a) Enter the following "touch /reconfigure"  and then reboot
      (b) Edit the /kernel/drv/lpfc.conf file on boot disk and change 
          the topology from 4 to 2  or  the reverse.

   This procedure may be used to make a bootable system disk from 
   any size logical disk.  This procedure also requires that a 'local'
   boot disk be used to build the fibre channel boot disk.

   The Following example will assume that the user has selected 
   logical drive designated as "c1t1d0" (controller 1, target 1,
   lun 0) though any may be selected.

   After boot from local system disk

      Run format utility  (enter 'format') 
          
        (a) Select logical drive to become boot disk.   
        (b) Select partition option and partition disk as desired.
        (c) select label option and write volume label to target disk.

       * If necessary, view man page on format utility  ("man format")

      Install boot on partition 0 of target disk with the following
         command (c1t1d0 - for example):

         installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev
         /rdsk/c1t1d0s0
 
      Create a filesystem for each partition which will contain a 
         mounted Filesystem. 

         newfs -v /dev/rdsk/c1t1d0s0    (will become root)
         newfs -v /dev/rdsk/c1t1d0s6    (will become usr)
         newfs -v /dev/rdsk/c1t1d0s7    (will become export/home)


      Create temporary mount points for the new partitions, so they
         can be mounted for copying.

         mkdir /root2
         mkdir /usr2
         mkdir /export2

   
      For the /dev/fd must be unmount to copy the root file system.
        
         First 'kill' the volume manager 

         Enter ps -ef|grep vold /* to obtain the process id  (PID) */
         Enter kill -9 PID      /* where PID is obtained above */
         Enter umount /dev/fd

      Mount, copy then unmount the usr file system:

         mount /dev/dsk/c1t1d0s6 /usr2
         cd /usr
         tar cvf - * | ( cd /usr2; tar xf - )
         umount /usr2
 
      To copy the export/home file system:

         mount /dev/dsk/c1t1d0s7  /export2
         cd /export
         tar cvf - * | (cd /export2; tar xf - )
         umount /export2

      Copying the root file system 

      a. To build a file list first

         cd /
         ls -a > root_copy
         use the editor, vi, to edit root_copy and delete 
         the following entries:

         . .. proc, usr, usr2, export, export2, and any other 
         apparent filesystem displayed by the 'df'  command.

         Then join file names so that they are on one line using
         <shift><j> in vi.  Add the tar command to the file list 
         so that the result looks like this:
   
         tar cvf - .Xauthority .cpr_config .dt .dtprofile TT_DB 
         arg bak bin cdrom dev devices doit etc firmware fun 
         kernel lib mnt mt net opt platform sbin timer tmp var 
         vol xfn | (cd /root2; tar xf - )

      b. To Perform copy

             mount /dev/dsk/c1t1d0s0 /root2
             chmod 777 root_copy
             sh root_copy

      c. Create the additional mount points (filesystem name)

             cd /root2
             mkdir usr
             mkdir export
             mkdir proc
       
          Repeat for any other mount unique mount point which was 
          excluded in the copy procedure.
  
      Edit /root2/etc/vfstab to point to "new" boot disk as physical 
      location of mount points for root, swap, usr, export, and etc.

         Change the current entries from
     
    /dev/dsk/c0t0d0s1                      to show c1t1d0s1  (swap)
    /dev/dsk/c0t0d0s0 & /dev/rdsk/c0t0d0s0 to show c1t1d0s0  (root)
    /dev/dsk/c0t0d0s6 & /dev/rdsk/c0t0d0s6 to show c1t1d0s6  (usr)
    /dev/dsk/c0t0d0s7 & /dev/rdsk/c0t0s0s7 to show c1t1d0s7  (export)
    
    
      If multiple targets exist on fibre channel adapter it will
      be necessary to edit /root2/kernel/drv/lpfc.conf to set up
      'persistent binding' which will ensure that the desired 
      logical disk is always assigned the correct target ID. See 
      instructions in lpfc.conf file to set persistent binding.
 
          Disk is now ready to use as boot disk
   

      Shutdown system


      Setup Sparc monitor and lpfc host adapter for boot if 
      not done already.


      At the ok Prompt TYPE:   
 
               boot disk
          
      The system now should boot on the fibre channel disk.

4. Troubleshooting

  (1) During boot process cannot mount or fsck /usr, the vfstab 
      on fibre channel boot disk not updated correctly persistent
      binding not implemented or implemented incorrectly.

        
  (2) After entering 'boot disk', the message appears that file 
      which was loaded is not executable. 
      There probably not boot on target disk, or copy from local to 
      correct target was not successful.

  (3) System hangs for a long time after displaying diver information
      or reboots just after displaying diver information. Possible 
      incorrect topology in /kernel/drv/lpfc.conf file on target disk.


5. Useful monitor commands

   When in the system monitor ("ok") prompt.

   show-devs        display current system devices       {See Sec. 2b}
   .fcode           display current version of open boot {See Sec. 2c}
   .topology        display current FC topology          {See Sec. 2e}
   probe-scsi-all   display current SCSI & FC device     {See Sec. 2f}
   .boot-id         display current boot device id       {See Sec. 2i}
   .nvram           display current flags for open boot  {See Sec. 2m}




***********************************************************************************



IV. EFIBoot



The current EFI (Extensible Firmware Interface) Boot provides 64-bit System 
boot capability through the use of the EFI Shell.  This EFIBoot supports EFI 
Specification 1.10 and EFI Source Code version 1.10.14.61.
   
The EFIBoot supports:

  (1)  Multi-Topology    : Fabric Point to Point; FC-AL: Private loop and Public
                           loop.

  (2)  EFI Protocols     : Configuration, Component Name, Diagnostics and 
                           Firmware Update Supported.

  (3)  Operating System  : Windows Server 2003 and Red-Hat Linux Supported.

  (4)  Multi-Device path : Fibre/SCSI Device path Selectable through the Driver
                           configuration Protocol.

  (5)  Multi-Initiators  : Up to 128 adapters in a system.

  (6)  Multi-Boot        : Eight targets selectable through the Driver 
                           configuration Protocol.

  (7)  Multi-LUNs        : Up to 4096 LUNs 

  (8)  Multi-Mode        : Supported.

  (9)  Multi-Utility     : Setup and Firmware update supported.



                           *****  Important Note ******

  (1) EFIBoot was not enabled from loading to system memory: 
      
      If the adapter EFIBoot is not enabled from loading to system, this adapter 
      will not be configured. User must use LP6dutil or some other OS Utility to 
      enable the EFIBoot in order to make this card bootable.

  (2) EFIBoot Bios was enabled to configure the adapter and No Link:
      
      EFIBoot will wait for 15 seconds/adapter to confirm a link.

  (3) If two or more adapters have same EFIBoot driver version, EFIBoot will 
      load only one driver.

  (4) If there are adapters with different EFIBoot driver versions, EFIBoot 
      will load the highest version of the EFIBoot driver.

  (5) In order to display Linkup speed, use the latest version of the firmware.

 
/*-------------------------------------------------------------------------------*/
/*                                  History                                      */
/*-------------------------------------------------------------------------------*/


Problems Fixed, Features added or Other Updates Since 3.11a4:
-----------------------------------------------------------------------------------

(1) CR17989 Integrated flash utility does not support update of OEM branded LP11002 and LPe11002 adapters

(2) CR18025 EFI Boot utility not reading VPD on LP11002  w/ 2.10A7 fw.

(3) CR15646 Fiber channel EFI boot configuration utility assumes a specific order of VPD fields in NVRAM 


Problems Fixed, Features added or Other Updates Since 3.11a3:
-----------------------------------------------------------------------------------

(1) CR17315 Integrated flash update utility unable to flash LP1150 paired boot firmware image.

(2) CR17316 EFI Boot integrated flash utility unable to flash .all files for Helios adapters

(3) CR17415 Change mailbox timeouts to 30 seconds

(4) CR17082 Add PCI segment to information displayed by EFI Boot configuration utility

(5) CR16614 Fiber channel EFI boot configuration utility does not display PCI express bus speeds correctly (shows 33Mhz)

(6) CR17422 add missing break in mailbox code

(7) CR17457 Change EFI Boot config utility adapter name display from 11000DC to 11002 for Helieos and Zephyr dual channel  


Problems Fixed, Features added or Other Updates Since 3.11a2:
-----------------------------------------------------------------------------------

(1) CR15762 Cannot install windows 2003 in a SAN environment.      

(2) CR16164  Add generic boot code type string to EFI boot config utility.      

(3) CR16165  Remove byte swap for Helios and Zephyr binaries.      

(4) CR16166  Add boot image type lookup table entries for new adapters.      


Problems Fixed, Features added or Other Updates Since 3.11a1:
-----------------------------------------------------------------------------------

  (1) More comprehensive solution for delay device discovery aka Lost LUN issue.  Workaround 
      now includes support for other devices on the loop with failing RAID controller. (CR15381) 


Problems Fixed, Features added or Other Updates Since 3.11a0:
-----------------------------------------------------------------------------------

  (1) Can't do flash update (CR-15527)

  (2) Can't display the complete eVPD V2 HBA name (CR-15552)  

  (3) Increase RATOV timeout (CR-15572) 

  (4) Generic trap occurs on some systems when internal or external loopback test is invoked. (CR-15383)

  (5) Improve instructions for setting max lun and discovery delay timer. (CR-15617) 


Problems Fixed, Features added or Other Updates Since 3.10a6:
-----------------------------------------------------------------------------------

  (1) Added config utility menu item to delay device discovery by a user selectable 
       number of seconds.
       
  (2) Added internal and external loopback tests to the driver diagnostic protocol.
    
  (3) Added support for Helios, Zepyr, and 3rd party branded PCI device IDs.
   
  (4) Added support for displaying V1 and V3 VPD fields in configuration utility.
  
  (5) Several configuration utility text changes, IE copyright notice.    										     

  (6) Added discover delay timer to EFI configuration utility as workaround for Lost LUN issue 
      seens with RAID controller that fails to add devices to ALPA map on the first link reset. 


Problems Fixed, Features added or Other Updates Since 3.10a5:
-----------------------------------------------------------------------------------

  (1)  Fixed problem where EFI 3.10a5 did not support Arbitrary Loop. (CR-13725)


Problems Fixed, Features added or Other Updates Since 3.10a4:
-----------------------------------------------------------------------------------

  (1)  Fixed problem with Child Display in Diagnostics functions. (CR-13564)

  (2)  Changed "-e" and -"m" drvdiag levels to "not supported".

  (3)  Changed VPD version to "3".

  (4)  Removed "SAL" documentation from readme.txt.


Problems Fixed, Features added or Other Updates Since 3.10a3:
-----------------------------------------------------------------------------------

  (1)  Implemented Power-on self test Diagnostics function.

  (2)  Implemented Bus Interface Unit test (PCI Loopback) Diagnostics functions.

  (3)  Fixed problem with Hard-alpa Display string as per reqest. (CR-13492)


Problems Fixed, Features added or Other Updates Since 3.10a2:
-----------------------------------------------------------------------------------

  (1)  Implemented Diagnostics function.

  (2)  Fixed problem where the LUN scan sub-menu hangs EFI with a Clariion 4500 
       connected to McData ES3016 with an LP982. (CR-13109)

  (3)  Fixed problem that when Device # 02. was selected on the boot device menu 
       (Device #01. on menu  had no mapping), then Port driver 2.22a8/W2K3 could
       find no hard disks during OS installation. (CR-13150)


Problems Fixed, Features added or Other Updates Since 3.10a1:
-----------------------------------------------------------------------------------

  (1)  Fixed problem where unable to boot from Port Driver with non-zero LUN targets. 
       (CR-13112)


Problems Fixed, Features added or Other Updates Since 3.10a0:
-----------------------------------------------------------------------------------

  (1)  Fixed problem setting the topology to point-to-point, EFI driver login to 
       a hub and display targets. (CR-12860)

  (2)  Fixed Problem setting Boot scan to Discovered Targets.  The EFI driver was 
       unable to create device path for non LUN-0 targets.

  (3)  Fixed problem with adding Scsi Error Commands properly.


Problems Fixed, Features added or Other Updates Since 3.01a0:
-----------------------------------------------------------------------------------

  (1)  Added support for all SCSI Commands.

  (2)  Implemented Scsipassthrough functions if the driver is called by an
       external utility that uses Scsipassthru functions.

  (3)  Rearranged setup utility options.

  (4)  Implemented the supported function of driver configuration Protocol 
       check for the revision number of the driver before claiming support.

  (5)  EFIBoot Driver can boot all targets or specific targets selected with the 
       Setup Utility. The No Boot selection is also available in the Setup Utility.

  (6)  Fixed problem with rediscovering targets and doing read/write When the link
       went down after targets discovered and device path created.

  (7)  Added support for EFI Source Code version 1.10.14.62.


Problems Fixed, Features added or Other Updates Since 3.00a9:
-----------------------------------------------------------------------------------

  (1)  Combined 3 EFI drivers to one.

  (2)  Added VPD Protocol.

  (3)  Controllers detected based on PCI Protocol.

  (4)  Boot Bios displayed with Enabled/Disabled Info in setup Utility.

  (5)  Boot Bios displayed with Universal/Pair/EFI Boot/ X86 Boot/Open Boot in 
       Firmware Update Utility.

  (6)  Added LunCtrlAttrs Protocol.


/*-------------------------------------------------------------------------------*/

1. General descriptions:

   1. This version of EFIBoot is executed from Flash.

   2. This version can run configuration utility through "Drvcfg" shell command.

   3. This version can download Firmware through "Drvcfg" shell command and 
      Firmware Update Protocol.

   4. This version can verify Configuration, Firmware, Vpd, Controller and Target
      Information through "Drvcfg" shell command.

   5. When EFIBoot is loaded in EFI Shell, Type "Drivers" <enter> to see whether
      the driver is loaded. For example,
     
      5.1. If the EFI driver version 3.01a0 or above then
         
          1. No Target attached, 

      82 00030110 D X X  1  - Emulex SCSI Pass Thru Driver        Elxcli301a0

          2. With Targets attached,

      82 00030110 B X X  1  1 Emulex SCSI Pass Thru Driver        Elxcli301a0

           (A) EMULEX SCSI PASSTHRU DRIVER: This driver produces a SCSI Pass 
                                            through handle for each Emulex 
                                            Adapter.


2. Procedure to Install Operating System on a Fibre Channel Disk 

   This is only for the system with floppy disk drive.

2.1 Procedure to Install Windows Server 2003 on a Fibre Channel Disk.

    (1) Boot with Windows Server 2003 Setup Media (See Microsoft Documentation 
        For Details)

    (2) Monitor the white bar on the bottom of the screen. 

    (3) Press [F6] within 5 seconds when the "Press F6 if you need to install a 
        third party SCSI or RAID driver" message is displayed. 

    (4) When the message "Setup could not determine the type of one or more mass
        storage devices installed in your system, or you have chosen to manually 
        specify an adapter." is displayed, insert the Emulex driver diskette.

    (5) Follow the remaining instructions to complete the Windows Server 2003
        installation.

   Note:

   1. Make sure the user always uses the latest version of Emulex's Windows 
      Server 2003 Port driver or Miniport driver.

   2. Create a GPT Partition if the user has more than one drive mapped as a boot 
      device. This is applicable for all Hard disks (IDE,SCSI,Fibre,etc.,)

   3. For Port drivers, the user can select 8 boot devices through the 
      configuration utility, but the first drive will be available at installation.
      Make sure to select the correct installable drive as the first boot drive. 

2.2 Procedure to Install Red Hat Linux on 64-bit system.
 
    Please follow the instructions in this section if you want to install RedHat 
    Linux Advanced Server onto a Fibre Channel boot disk attached to Emulex 
    LightPulse HBA.

    (1)  Download the Driver Disk image file appropriate for your RedHat 
         distribution. An example of this is: as21-ia64-6.00c.img.gz

    (2)  Uncompress the Driver Disk image file if necessary.
       
         # unzip as21-ia64-6.00c.img.gz

    (3)  Insert a diskette into the diskette drive and copy the uncompressed Driver
         Disk image file to diskette.

         # dd if=as21-ia64-6.00c.img of=/dev/fd0 bs=1440k

    (4)  Load Red Hat installation CD-ROM disc 1 in the target machine and boot into
         the EFI shell.

    (5)  At the EFI prompt "Shell>", use the "map" command to list all devices and
         file systems that the system recognizes.
       
         Shell> map

    (6)  In the output of the "map" command, note the entry corresponding to the
         CD-ROM containing Red Hat installation CD-ROM disc 1. An example of this
         is: fs1

    (7)  To change to "fs1:" file system type "fs1:" at the prompt.
		
         Shell> fs1:

    (8)  Type "elilo Linux dd" to boot into the installation program.

         fs1> elilo Linux dd

    (9)  Select YES, when you are prompted:	

         Do you have a driver disk?

    (10) You will then be prompted: Insert your driver disk and press ok to 
         continue insert the driver disk and press ENTER

    (11) Red Hat will print a message indicating it is loading the lpfc driver. User 
         can then install RedHat following the standard installation direction from 
         RedHat.

3. EFIBoot Load Procedure

The Light Pulse EFIBoot is distributed as a .PRG file. This file may be downloaded
to the Adapter using the firmware upgrade procedure with the following Utility in
Various systems. 

  1. "Drvcfg"                  : EFI based Systems. 

     Please refer to section 5 for user interface how to download EFIBoot in EFI
     based systems.

  2. Command Line              : EFI based Systems.

     Load the EFIBoot through Command Line, "load elxcli301a0.efi" <Enter>.     

  3. LP6DUTIL.EXE              : DOS based utility.

     Please refer to the LP6DUTIL version 9.0a13, or later, documentation for user
     interface how to download EFIBoot in DOS PCI systems.

  4. LPUTILNT                  : Windows Miniport Driver.

     Please refer to the utility user manual for details on using the above tool.

  5. Emulex Configuration Tool : Windows Port Driver.

     Please refer to the elxcfg user manual for details on using the above tool.


4. EFIBoot Unload Procedure.

   1. If the EFI driver version 3.01a0 or above then

      a. Type "drivers" <enter>.
         after entering, Display will show the following, For example
                  T   D
      D           Y C I
      R           P F A
      V  VERSION  E G G #D #C DRIVER NAME                      IMAGE NAME
      == ======== = = = == == ================================ ============
      82 00030110 D X X  1  - Emulex SCSI Pass Thru Driver     Elxcli301a0

     b. Write down the Emulex driver handle. For the above case, 
        Emulex driver Handle number is 82.

      c. Type "Unload 82" <enter>.


5. Procedure to run the Configuration tool with EFI Drivers.

   Emulex EFI driver can be run with the "drvcfg" EFI Shell command. After seeing 
   Shell Prompt, Follow the steps.
   
   1. Get the latest version of Firmware, based on board and type of firmware files
      in case if you want to update firmware.

   2. If the card does not have EFI Driver 3.00a1 or above, please get the Command
      Line driver, elxcli.efi. Load the driver through Command Line 
      (load elxcli.efi).

   3. To display drvcfg options: type "drvcfg -?" <enter>.
      This will help how to use the various options.

   4. Determine Emulex EFI driver Handle by typing, "drivers" <enter>. Make a note
      of the handle number for use later.

   5. To find the Controllers supported by the Emulex EFI driver, Type 
      "drvcfg " <enter>. Display will show the following, For example,

      fs0:\Emulex> drvcfg
      Configurable Components 
      Drv[28]  Ctrl[41]  Lang[eng]
      Drv[4A]  Ctrl[18]  Lang[eng]
      Drv[4A]  Ctrl[19]  Lang[eng]
      Drv[4A]  Ctrl[20]  Lang[eng]
      Drv[4A]  Ctrl[21]  Lang[eng]
      Drv[4D]  Ctrl[22]  Lang[eng]
      Drv[91]  Ctrl[24]  Lang[eng]
      Drv[91]  Ctrl[25]  Lang[eng]
      
      In this case 91 is the Driver handle and 24 and 25 are the controller handles.

   6. Type "drvcfg -s 91 24" <enter> to set controller options.
      
      1. This will display the screen with all Emulex adapters.
      
      2. Select the adapter you want to modify.
      
      3. After selecting the Adapter, Next screen will allow the user to select
         the functions defined. 

         a. Setup Utility   - is used to configure the Adapter parameters.
         b. Firmware Update - is used to flash the Firmware, Bios, etc.,

   7. In order to update Firmware, select "Firmware Update", and follow the steps.

      1. Type "File directory Name" <enter>. If the file is root directory 
         type "\" <enter>.

      2. Type "File Name" <enter>. Wait ..., Utility will post Success/Error 
         message. 

      3. After successful download, reset the system after completing the
         "Drvcfg" utility in order to use the new firmware.

   8. In order to configure the Adapter user shell select "Setup Utility".
      After selecting "Setup utility", the next screen will allow user to
      do the following,

         1. Enable or Disable BIOS   - is used to Enable or Disable the EFIBoot
                                       to discover targets.
         2. Configure HBA Parameters - is used to configure HBA parameters.
         3. Configure Boot Parameters- is used to configure Boot Parameters.
         4. Reset to Default Values  - is used to set the default values.

   9. In order to Configure HBA Parameters user shell select "Configure HBA 
      Parameters". After selecting "Configure HBA Parameters", the next screen
      will allow user to do the following,

      1. Default ALPA of this adapter - is used to select hard Alap of this 
                                        Adapter.
      2. Topology Selection           - is used to select the Topology.
      3. PLOGI Retry Timer            - is used to select Port Login retry timer.
   
  10. In order to Configure Boot Parameters user shell select "Configure Boot 
      Parameters". After selecting "Configure Boot Parameters", the next screen
      will allow user to do the following,
        
      1. Device Path Selection  - is used to select Fibre or SCSI Boot Device 
                                  path.
      2. Maximum Luns/Target    - is used to Select Maximum Luns/Boot Target.
      3. Boot Target Scan       - is used to Select Boot from NVRAM or all 
                                  discovered targets or No target.
      4. Configure Boot Devices - is used to configure up to the 8 boot devices.    
              
   Note: 

   The Configuration protocol supports the English language only.


6. Procedure to run Configuration tool to verify Adapter information with EFI 
   Drivers.

   Emulex EFI driver can be run with the "drvcfg" EFI Shell command. After seeing 
   Shell Prompt, Follow the steps.
   
   1. To display drvcfg options: type "drvcfg -?" <enter>.
      This will help how to use the various options.

   2. Determine Emulex EFI driver Handle by typing, "drivers" <enter>. Make a note
      of the handle number for use later.

   3. To find the Controllers supported by the Emulex EFI driver, Type 
      "drvcfg " <enter>. Display will show the following, For example,

      fs0:\Emulex> drvcfg
      Configurable Components 
      Drv[28]  Ctrl[41]  Lang[eng]
      Drv[4A]  Ctrl[18]  Lang[eng]
      Drv[4A]  Ctrl[19]  Lang[eng]
      Drv[4A]  Ctrl[20]  Lang[eng]
      Drv[4A]  Ctrl[21]  Lang[eng]
      Drv[4D]  Ctrl[22]  Lang[eng]
      Drv[91]  Ctrl[24]  Lang[eng]
      Drv[91]  Ctrl[25]  Lang[eng]
      
      In this case 91 is the Driver handle and 24 and 25 are the controller handles.

   5. Type "drvcfg -v 91 24" <enter> to set controller options.

      1. This will display the screen with all Emulex adapters.
      
      2. Select the adapter user wants to verify the information.
      
      3. After selecting the Adapter, Next screen will allow the user to select
         the functions defined. 

         1. Config   Info - is used to display the Adapter Configuration parameters.
         2. Firmware Info - is used to display the Adapter Firmware Information.
         3. Vpd      Info - is used to display the Adapter Vpd Information.
         4. Ctrl     Info - is used to display the Controller Information.
         5. Device   Info - is used to display the Connected targets Information.
         6. Slim     Info - is used to display the Connected targets Information for
                            the Port Driver.


7. Procedure to run the Diagnostics Protocol with EFI Driver.

   Emulex EFI driver can now run with "drvdiag" EFI Shell command. After seeing
   Shell Prompt, Follow the steps below.
   
   1. To display about usage. Type "drvdiag -?" <enter>. This will define how 
      to use the various options.

   2. Determine Emulex EFI driver Handle by typing, "drivers" <enter>. Make a note
      of the handle number for use later.

   3. To know the Controller supported by Emulex EFI driver, Type 
      "Drvdiag" <enter>. Display will show the following, For example,

      fs0:\Emulex> drvdiag -c
      Available Diagnostics
      Drv[4A]  Ctrl[18]  Lang[eng]
      Drv[4A]  Ctrl[18]  Child[55]  Lang[eng]
      Drv[4A]  Ctrl[18]  Child[56]  Lang[eng]
      Drv[4A]  Ctrl[19]  Lang[eng]
      Drv[4A]  Ctrl[19]  Child[57]  Lang[eng]
      Drv[4A]  Ctrl[20]  Lang[eng]
      Drv[4A]  Ctrl[21]  Lang[eng]
      Drv[4D]  Ctrl[22]  Lang[eng]
      Drv[4D]  Ctrl[22]  Child[58]  Lang[eng]
      Drv[91]  Ctrl[24]  Lang[eng]
      Drv[91]  Ctrl[25]  Lang[eng]

      In this case 91 is the Driver handle and 24 and 25 are the controller handles.

   4. Type "drvdiag -s 91 24" <enter> to run Standard Diagnostics.
   
   5. Type "drvdiag -e 91 24" <enter> to run Enhanced Diagnostics. Enahanced diagnostics 
       perform an internal loopback test.

   6. Type "drvdiag -m 91 24" <enter> to run Manufacturing Diagnostics. Manufacturing diagnostics 
       perform an external loopback test.   Note:  A loopback connecter on each fibre channel port
       is required for this test.


   
   Note: 

   The Diagnostics protocol supports the English language only.



